Update to Swift 3.0 and RAC 5.0, remove UI Extensions #159
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
First of sorry that theres so much in this one Pull Request at once.
I tried to separate these out, but it is all intertwined, Swift 3.0 required RAC 5.0, and then converting all those methods that would be removed in the next step anyway seemed like unnecessary work.
Open Question
Theres two
RACSignalextensions:RACSignal.rex_toSignal()RACSignal.rex_toTriggerSignal()For now I was hesitant to require
ReactiveObjC/ReactiveObjCBridgejust for those two extensions...ReactiveObjCBridgeonly contains atoSignalProducerand notoSignal. Either we could addtoSignalto the bridge as well, or just remove this conversion?rex_toTriggerSignalwas mostly used internally to convert userac_willDeallocas a trigger, which now is not necessary anymore withLifetime.Complete List of Removals
Those are all documented in
Deprecations+Removals.swift, but this list here could also be used in the change log for the next release.Removals
RAC Extensions
Action.rex_enabledProducer. UseAction.reactive.isEnabledinstead.Action.rex_executingProducer. UseAction.reacitve.isExecutinginstead.Foundation Extensions
NSObject.rex_producerForKeyPath. UseNSObject.reactive.values(forKeyPath:)instead.NSObject.rex_willDealloc. UseNSObject.reactive.lifetime.endedinstead.UIKit Extensions
Reusableprotocol, useReusableprotocol from RAC insteadUITableViewCell.rex_prepareForReuse. UseUITableViewCell.reactive.prepareForReuseinstead.UITableViewHeaderFooterCell.rex_prepareForReuse. UseUITableViewHeaderFooterCell.reactive.prepareForReuseinstead.UICollectionReusableView.rex_prepareForReuse. UseUICollectionReusableView.reactive.prepareForReuseinstead.UIControl.rex_enabled. UseUIControl.reactive.isEnabledinsteadUIControl.rex_selected. UseUIControl.reactive.isSelectedinsteadUIControl.rex_highlighted. UseUIControl.reactive.isHighlightedinsteadUIActivityIndicatorView.rex_animating. UseUIActivityIndicatorView.reactive.isAnimatinginstead.UIBarButtonItem.rex_action. UseUIBarButtonItem.reactive.pressedinstead.UIBarItem.rex_enabled. UseUIBarItem.reactive.isEnabledinstead.UIButton.rex_pressed. UseUIButton.reactive.pressedinstead.UIButton.rex_title. UseUIButton.reactive.titleinstead.UIDatePicker. useUIDatePicker.reactive.dateorUIDatePicker.reactive.datesinstead.UIImageView.rex_image. UseUIImageView.reactive.imageinstead.UIImageView.rex_highlightedImage. UseUIImageView.reactive.highlightedImageinstead.UILabel.rex_text. UseUILabe.reactive.textinstead.UILabel.rex_attributedText. UseUILabe.reactive.attributedTextinstead.UILabel.rex_textColor. UseUILabe.reactive.textColorinstead.UIProgressView.rex_progress. UseUIProgressView.reactive.progressinstead.UISegmentedControl.rex_selectedSegmentIndex. UseUISegmentedControl.reactive.segmentedSegmentIndexesorUISegmentedControl.reactive.segmentedSegmentIndexinstead.UISwitch.rex_on. UseUISwitch.reactive.isOnorUISwitch.reactive.isOnValuesinstead.UITextField.rex_text. UseUITextField.reactive.text,UITextField.reactive.textValuesorUITextField.reactive.continuousTextValuesinstead.UITextView.rex_text. UseUITextView.reactive.text,UITextView.reactive.textValuesorUITextView.reactive.continuousTextValuesinstead.UIView.rex_alpha. UseUIView.reactive.alphainstead.UIView.rex_hidden. UseUIView.reactive.isHiddeninstead.UIView.rex_userInteractionEnabled. UseUIView.reactive.isUserInteractionEnabledinstead.AppKit Extensions
NSTextField.rex_textSignal. UseNSTextField.reactive.continuousStringValuesinstead.Tests
I've kept all the UIKit and AppKit Tests around, but converted them to use the
reactiveextensions. I've converted them almost completely via quick-fixes to verify that the replacements inDeprecations+Removals.swiftwork correctly.